package de.unicornEntertainment.stundenplanapp.stundenplan;

import java.util.ArrayList;
import java.util.HashMap;

import android.app.ProgressDialog;
import android.os.Bundle;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;

import com.actionbarsherlock.app.SherlockActivity;

import de.unicornEntertainment.stundenplanapp.R;
import de.unicornEntertainment.stundenplanapp.threadTools.MyAsyncTask_Klassenliste;
import de.unicornEntertainment.stundenplanapp.util.MyTools;

public class KlassenlisteActivity extends SherlockActivity {

	// Globale Deklaration
	private KlassenlisteActivity context = this;
	private ListView klassenliste;
	private ArrayList<HashMap<String, String>> klassen;
	private ProgressDialog prg;
	private SimpleAdapter adapter;
	
	/**
	 * Wird erstmalig beim Start der Activity aufgerufen.
	 */
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_klassenliste);
		
		// GUI-Elemente holen
		klassenliste = (ListView) findViewById(R.id.klassenliste_listview);
		
		// Instanziierung und Initialisierung
		klassen = new ArrayList<HashMap<String,String>>();
		
		if (new MyTools(getApplicationContext()).isInternetVerfuegbar()) {
			try {
				// ProgressDialog starten
				prg = ProgressDialog.show(context, "Bitte warten...", "Klassen werden abgerufen...");
		
				// Thread ausführen und via JSON Daten aus der Datenbank holen und parsen
				new MyAsyncTask_Klassenliste(context).execute();
			}
			catch(Exception e) {
				e.printStackTrace();
				prg.dismiss();
			}
		} // Ende prüfe Internetverbindung
		else {
			// Activity schließen und User benachrichtigen, dass keine Internetverbindung besteht
			context.finish();
			Toast.makeText(context, "Keine Internetverbindung vorhanden!", Toast.LENGTH_LONG).show();
		}
	}

	// Getter und Setter
	public KlassenlisteActivity getContext() {
		return context;
	}

	public void setContext(KlassenlisteActivity context) {
		this.context = context;
	}

	public ListView getKlassenliste() {
		return klassenliste;
	}

	public void setKlassenliste(ListView klassenliste) {
		this.klassenliste = klassenliste;
	}

	public ArrayList<HashMap<String, String>> getKlassen() {
		return klassen;
	}

	public void setKlassen(ArrayList<HashMap<String, String>> klassen) {
		this.klassen = klassen;
	}

	public ProgressDialog getPrg() {
		return prg;
	}

	public void setPrg(ProgressDialog prg) {
		this.prg = prg;
	}

	public SimpleAdapter getAdapter() {
		return adapter;
	}

	public void setAdapter(SimpleAdapter adapter) {
		this.adapter = adapter;
	}
}
